package com.allwees.bs.module.scm.service;

import com.allwees.bs.module.base.service.BoService;
import com.allwees.bs.module.oms.entity.OmsOrderItem;
import com.allwees.bs.module.scm.entity.ScmAllocateOrderSku;
import com.allwees.bs.module.scm.req.AllocateOrderSkuJoinPickReq;
import com.allwees.bs.module.scm.req.query.ScmAllocateOrderSkuQueryReq;

import java.util.List;

/**
 * scm 分配订单
 *
 * @author mouhn
 * @since 2019-12-31 11:45
 */
public interface ScmAllocateOrderSkuService extends BoService<ScmAllocateOrderSku>, MarkService<ScmAllocateOrderSku> {

    /**
     * 生成
     *
     * @return
     */
    Integer create(List<OmsOrderItem> omsOrderItems);

    /**
     * 加入拣货
     *
     * @return
     */
    Integer joinPick(AllocateOrderSkuJoinPickReq req);

    /**
     * 导出报表
     *
     * @return
     */
    void export(ScmAllocateOrderSkuQueryReq queryReq);

    /**
     * 退款原因
     *
     * @return
     */
    void refundReason(String uuid);

    /**
     * 从拣货单退回
     *
     * @return
     */
    boolean backFromPick(String uuid);
}
